#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/4/3 18:02
# @Author : 闫峰
# @File    : rb_product.py
from common.setting import ensure_path_sep
from utils.mysqlUtils.db_pool import Database

product_db = Database(ensure_path_sep("\\config\\shopeev2_config.yaml.bak"), "HWY-ZH-GZ-RDS-Product")


class RbProduct:

    @staticmethod
    def get_product_property_sku_list() -> list:
        """
        获取具有特定属性的产品的SKU列表，这些产品具有律所代理且属性为2或3。

        参数:
        无

        返回值:
        sku_list (list): 一个包含满足条件的产品SKU的列表。
        """
        # 查询具有律所代理且属性为2或3的产品的SKU
        get_sku_list = """
                SELECT sku
                FROM `zhcxkj-center-product`.rb_product
                WHERE has_law_firm_agent =1
                AND product_property in (2,3)
            """
        # 从数据库中获取查询结果，并转换为只包含SKU的列表
        sku_list = product_db.fetch_all_tuple(get_sku_list, ())
        sku_list = list(map(lambda x: x[0], sku_list))
        return sku_list


    @staticmethod
    def is_group_sku(sku_set):
        get_is_group = f"""
                        SELECT sku
                FROM `zhcxkj-center-product`.rb_product
                WHERE sku in %s
                AND is_group =1
        """
        sku_list = product_db.fetch_all_tuple(get_is_group, (sku_set,))
        if len(sku_list):
            return False
        return list(map(lambda x:x[0], sku_list))